package pear.other;

import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import pear.gui.table.FilePart;

/**
 * @version 1.0
 * @author Dingo
 */
public interface HostingInterface {

    /**
     * Metoda powinna łączyć się z serwisem i wrzucić załączony plik. Dodatkowo
     * powinna udstępniać stan pobrania wywołując metodę publish. Przykładowy
     * plik implementujący tą metodę dostępny w źródłach.
     *
     * @param filePart odzwierciedlenie pliku jako obiekt z polami
     * @param file plik do wysłania (obrazek)
     * @return odpowiedź od serwera
     */
    String sendFile(FilePart filePart, File file) throws MalformedURLException, IOException ;

    /**
     * Metoda powinna obrobić dostarczoną stronę zwrotną i pobrać link, użyty
     * później jako link dostępowy (najczęściej bezpośredni).
     *
     * @param pageString string ze stroną www
     * @return
     */
    String getUploadLink(String pageString);
    
    /**
     * Metoda używana do pobrania linku ze strony dostarczonej po uploadzie
     * @param uploadLink
     * @return 
     */
    String getDownloadLink(String uploadLink);
}
